﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Atendex.Dominio;
using Atendex.Dominio.Interfaces;

namespace Atendex.Web.AppCode
{
    public class AtendexContext
    {

        private const string strUsuario = "Usuario";

        public static void Logout(Page page)
        {
            page.Session[strUsuario] = null;
        }


        public static IUsuario UsuarioAtual(Page page)
        {
            return (IUsuario)page.Session[strUsuario];
        }


        public static IAtendente AtendenteAtual(Page page)
        {
            return UsuarioAtual(page) as IAtendente;
        }

        public static IGerente GerenteAtual(Page page)
        {
            return UsuarioAtual(page) as IGerente;
        }

        public static void SetAtendenteAtual(Page page, IUsuario usuario)
        {
            if (usuario == null) throw new NullReferenceException("Usuário não pode ser vazio");
            page.Session[strUsuario] = usuario;
        }


    }
}
